home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / SWDOS12 / ATTR.ASM < prev    next >
Assembly Source File  |  1995-02-10  |  2KB  |  57 lines

  1. ;******************************************************************
  2. ;*                            ATTR.ASM                            *
  3. ;*          Source file for SoftWeyr enhanced DOS toolbox         *
  4. ;*                           version 1.1                          *
  5. ;*                 Copyright (c) by SoftWeyr,1994                 *
  6. ;******************************************************************
  7. MODEL TPASCAL
  8. LOCALS
  9. .DATA
  10.      EXTRN DosError :word
  11. .CODE
  12.        Public SetFileAttr
  13.        Public GetFileAttr
  14.        Extrn Asciiz:Far
  15. SetFIleAttr Proc Far Name:DWord,Attr:Word
  16.                 LOCAL AName:Byte:80=LSIZE
  17.                 Push DS
  18.                 ;Load string address
  19.                 LDS SI,Name
  20.                 LEA DI,AName
  21.                 ;Prepare ASCIIZ from lstring
  22.                 ;Put attribute word into CX
  23.                 Call Asciiz
  24.                 LEA DX,Aname
  25.                 PUSH SS
  26.                 POP DS
  27.                 MOV CX,Attr
  28.                 MOV AX,4301H
  29.                 INT 21H
  30.                 POP DS
  31.                 JC @@Error
  32.                 XOR AX,AX
  33. @@Error:        MOV DosError,AX
  34.                 RET
  35.                endp
  36. GetFileAttr Proc Far Name:Dword
  37.                 LOCAL AName:Byte:80=LSIZE
  38.                 Push DS
  39.                 ;Load string address
  40.                 LDS SI,Name
  41.                 LEA DI,AName
  42.                 ;Prepare ASCIIZ from lstring
  43.                 Call Asciiz
  44.                 lea DX,AName
  45.                 PUSH SS
  46.                 POP DS
  47.                 mov ax,4300H
  48.                 Int 21h
  49.                 Pop ds
  50.                 jc  @@Error
  51.                 xor ax,ax
  52. @@Error:        Mov DosError,ax
  53.                 Mov AX,CX
  54.                 Ret
  55.               EndP
  56. end
  57.